#ifndef __PRESSURE_PLATE_BLOCK_H__
#define __PRESSURE_PLATE_BLOCK_H__

#include "Block.hpp"
#include "Engine/Point3.hpp"
#include "Game/CellFace.h"
#include "Terrain/Terrain.h"

namespace PocketSurvival
{
    // 压力板
    class PressurePlateBlock : public Block
    {
    public:
        static constexpr int32_t Index()
        {
            return 144;
        }
        virtual int32_t getIndex() override; 
        virtual const std::string &getBlockName() override;

        virtual void getCreativeValues(std::vector<int32_t> &blockVec) override;
        virtual void getDropValues(int32_t oldValue, int32_t newValue, int32_t toolLevel, std::vector<BlockDropValue> &dropValues) override;
    
        virtual BlockPlacementData getPlacementValue(ComponentMiner *componentMiner, int32_t value, const TerrainRaycastResult &raycastResult) override;
        virtual const std::vector<BoundingBox> &getCustomCollisionBoxes(int32_t value) override;
    };

} // namespace PocketSurvival


#endif
